﻿namespace eg_084_接口
{/*接口用于描述一组可以用于类和结构的一组相关的功能，
  * 它可以由方法、属性、事件和索引器组成，
  * 但不能含有常量、字段、构造函数或类型，也不能包含静态成员。
  * 接口成员的访问级别自动为公有的，无须访问修饰符。
  * 类或结构实现接口时，必须实现该接口的所有成员
  * 
  * 接口是指定一组函数成员，而不实现它们的引用类型。
  */
    internal class Program
    {
        interface IArithmetic   // 算数运算接口
        {
            double Operation(double a, double b);
        }


        class Add : IArithmetic // 声明实现运算接口的加法类
        {
            // 实现接口方法
            public double Operation(double a, double b) { return a + b; }   // 在类中实现，接口所提供的方法
        }
        static void Main(string[] args)
        {
            Console.WriteLine("请输入数 a：");
            double a = double.Parse(Console.ReadLine());
            Console.WriteLine("请输入数 b：");
            double b = double.Parse(Console.ReadLine());
            IArithmetic Add = new Add();                                     //创建加法类
            Console.WriteLine("{0} +{1} = {2:N3}", a, b, Add.Operation(a, b)); //两数相加

        }
    }
}